The present invention relates to industrial robots or computer-controlled manipulators and, more particularly, to the design and control of an articulated mechanical arm of an indeterminant number of axes, capable of being configured with kinematic redundancy.
Industrial robot arm designs have followed a few basic types. Industrial robots can be classified according to their mechanical linkage geometries, i.e., the particular arrangements of structural elements and joints which connect them and the associated motion control systems required to coordinate joint action to produce straight line motion and other controlled paths at the toolpoint. In the most general purpose and versatile manipulators, six degrees of freedom are incorporated in the linkage configuration to provide complete control of the position in space and orientation of the tool mounted at the end of the manipulator.
One elementary form of manipulator employs a set of three slides connected at prismatic or sliding joints. These slides are disposed in a nominally orthogonal arrangement to position the "wrist" of the device, a second set of three orthogonally disposed rotational axes which determine tool orientation. This mechanism geometry provides a roughly rectilinear working volume. Such a device is typified by the IBM RS 1 robot. The "cartesian" geometry of such a device has a number of distinct advantages over other types. Most important of these is that no coordinate transformations are necessary to produce useful controlled motions at the toolpoint. Instead, linear and circular interpolation of the positioning axes is sufficient.
A second common mechanical geometry provides a wrist, as described above, linked to two slides which are disposed at a right angle and connected at a prismatic joint. These slides are affixed to a revolute joint in the base of the device which provides rotation about a vertical axis. The workspace of such a manipulator is roughly "cylindrical" in shape. Such a device is typified by the Prab Model FA robot.
In a third common mechanical geometry, the wrist described above is positioned in space by a slide connected at a prismatic joint to a revolute joint which, in turn, is mounted at a right angle to and rotated around a vertical axis by a second revolute joint in the base of the device. Theoretically, this type of "polar" geometry produces a spherical work space. In practice, mechanical design considerations generally restrict the useful workspace to a spherical shell less certain significant conical sections. Such a device is typified by the Unimation Unimate 1000 robot.
More sophisticated motion control systems are required for arms with cylindrical and polar linkage geometries than for arms with cartesian geometries because coordinate transformations must be performed to generate straight line movements at the toolpoint. However, as a class, manipulators which employ one or more slides connected at prismatic joints exhibit certain significant performance limitations. These are due, in part, to the relatively large size and high weight, and the resulting high motive power required of such a design to convey and locate in space a tool or workpiece of a given mass. They are also due to the fact that the positioning slides often interfere with other objects in and around the working area, including the workpiece itself.
Of the manipulator types described above, the cartesian systems tend to be the least spatially efficient linkage configurations, since the workspace is often completely surrounded by a large framework of positioning slides and supporting structure. Of the group described above, the polar type, which employs only a single slide, is the most efficient and least intrusive in the workspace. To minimize the spatial efficiency problem, a few polar geometry devices have been designed in which the slide collapses upon itself when retracted to minimize interference problems. In one form, for example, a set of colinear slide segments telescope. This form is characterized by the Maker, which is manufactured by U.S. Robot. In another form, a thin-wall steel tube that forms the slide when extended is caused to collapse in section to a flat sheet which can be rolled onto a drum when retracted. This device is typified by the Martin Marietta/NASA Viking Lander arm. Mechanical implementations of these designs tend to have relatively poor static and dynamic performance characteristics, however, due either to the number of additional prismatic joints incorporated to provide telescoping or to the very thin-wall slide cross-section.
To improve the performance and workspace interference characteristics of manipulators, a linkage geometry which permits considerably more efficient mechanical designs has been devised in which a series of rigid link segments connected by revolute joints is used to position the wrist. This is known as a revolute or jointed arm manipulator and is the type of the present invention. In a general-purpose manipulator of this type the wrist positioning mechanism typically consists of two links connected by a revolute joint, with a terminal end of one of these links mounted on a second revolute joint fixed in plane with the first, itself mounted at a right angle on and rotated about a vertical axis by a third revolute joint in the base. Manipulators which employ this linkage geometry are more like the human arm than the earlier designs described above, but function kinematically more like a "backhoe" than a human limb, since the linkage configuration operates in a fixed plane. Theoretically, such a jointed arm linkage geometry produces a spherical working envelope. Like cylindrical and polar geometry manipulators, the jointed arm manipulator requires a relatively complex controller which must perform coordinate transformations to produce straight lines or other controlled path behavior at the toolpoint. The principle advantages of the jointed arm manipulator geometry relate to the fact that when the arm linkage which positions the wrist is retracted, it folds upon itself, permitting arms to be relatively compact for a given working envelope and light-weight for a given payload.
Two distinct mechanical embodiments of the jointed arm geometry have gained acceptance in the industry. In one, the actuators which drive many of the arm and wrist joints are mounted some distance from the joints themselves. In such designs, motors and gear reducers mounted at the "shoulder" transmit power to the joints through the effect of a four-bar linkage configuration or through pushrods and bellcranks, or by chains, timing belts, or other "tendon" arrangements. An example of such a device is the ASEA IRb 6 robot. This design has the advantage that the relatively bulky and heavy motors, drives, and velocity feedback hardware need not be packaged with and supported by the more distal arm structure. Consequently, motive power requirements for a given payload may be reduced. Nevertheless, the drive train which is employed to transmit power to a remote joint itself imposes a number of significant performance limitations. The feasible range of motion of joints is often limited by geometric ratio changes or over-center conditions in the power transmission mechanism, resulting in arm assemblies with relatively restricted, toroidal working envelopes. Transmission mechanisms also add considerable inertia, compliance and mechanical inaccuracy to the drive train, to the detriment of static and dynamic performance. Moreover, since the transducer which is used to determine toolpoint position is often mounted at the origin of the transmission, compliance and mechanical inaccuracy in the transmission significantly reduces the precision of the device.
In the second common embodiment of the jointed arm linkage geometry, substantially all of the actuators which drive the arm and wrist joints are located on or within the arm structure adjacent the joints. In some cases, actuators are located directly at the joints; in other cases, they are located in adjacent "in-board" link segments. This arrangement overcomes the problem of limited joint travel and, as a result, certain mechanisms of this type exhibit useful working envelopes that approach a sphere. The joint-mounted or link-mounted drive design also reduces or eliminates problems associated with power transmission inertia and compliance. An example of such a device is the Unimation PUMA 600 robot.
Although jointed arm geometry provides a more efficient operation than cartesian or polar configurations in terms of maneuverability, working envelope, and overall dexterity, it requires a more sophisticated controller, capable of performing elaborate and time-consuming coordinate transformations to position the toolpoint. The relative complexity and high cost of computer control systems required for accurate and, to an increasing extent, adaptive control of the toolpath in jointed-arm manipulators have had a significant influence on the particular linkage geometries utilized in most commercial arm designs. Linkage designs have generally been adopted which simplify the process of coordinate transformation and reduce the number and rate of computations that must be performed. For example, common jointed-arm linkage geometries avoid "off-set" pitch joints, a feature which greatly complicates transformation. Thus, by imposing specific constraints on the linkage geometry, explicit mathematical expressions (i.e. closed form, analytic expressions) can be obtained for the coordinate transformations which simplify the control system.
However, such efforts to constrain mechanical design for the sake of control system efficiency exhibit several shortcomings. The linkage geometries that allow for explicit solutions to the transformation equations often are not optimal for performance and cost. In addition, explicit expressions can not be easily adjusted for mechanical imprecisions in the manipulator. Moreover, it is doubtful that any closed form solution exists for the transformation equations of any redundant manipulator. Furthermore, intrinsic to all jointed arm manipulators is a condition known as a singularity. Conventional control systems and manipulators will encounter regions in their working envelope containing "singularities" which prevent effective operation of the controller. Conventional controllers are unable to operate efficiently when sets of singularities are encountered in the work envelope because the equations typically used to control motion have no mathematical solution at a singularity. Thus, while many mechanical designs have been influenced by an effort to simplify the mathematics associated with the control of the manipulator, mathematical control problems persist. In accordance with the present invention, it has been found to be better to adopt an optimum mechanical design, unconstrained by concerns about mathematical complexity, and to confront the mathematical problems of coordinate transformation, redundancy, singularities and mechanical imprecisions by the adoption of iterative control methods.
In addition to the four basic types of general-purpose manipulator described above, each of which provides six degrees of freedom at the toolpoint, many other linkage geometries have been devised for special applications. In the design of most of such special-purpose arms, an effort is made to employ a linkage geometry having the minimum number of driven joints necessary to perform the particular task of that application. Significant cost savings result from such an effort through a reduction both in the number and size of structural components, motors, power supplies, servo feedback hardware and in the complexity of the control system required. Special-purpose manipulator designs have evolved, for example, for the relatively simple kinematic function of loading and unloading workpieces from lathes. One type employs a two-axis, cartesian mechanism in which the primary slide is mounted parallel to the lathe spindle centerline. A second common type uses two links connected at revolute joints, plus one short slide, to handle short chucked parts. Because of their uniquely tailored mechanical designs, neither of these specialized manipulators requires the controller to perform coordinate transformations. In both, the orientation of the linkage geometry itself produces appropriate tool paths for the given application when each joint is driven independently in the proper sequence. With such designs it is possible that the joints may not require a analog servocontrol network.
As a second example, it has been determined that for a large class of MIG welding operations in the factory, control of rotation of the welding tip about its axis is not necessary and consequently, that a three-axis arm with a two-axis wrist provides sufficient tool control. Many other examples exist of manipulator designs being optimized for a specific task or class of tasks. In most cases, a geometry providing less than six degrees of freedom at the tool is employed and the physical sizes of the links and/or slides, as well as their load capacities, are matched to the specific application. Accordingly, a unique design is required for each such specialized application.
Previous manipulator designs exhibit a number of significant limitations and shortcomings in addition to those mentioned above. Jointed arm manipulators, incorporating six revolute joints and providing six degrees of freedom at the toolpoint, while more efficient than other general-purpose linkage configurations, are substantially less maneuverable and dexterous than biological analogs they ideally would emulate, notably the human arm or an elephant trunk. As previously stated, present jointed arm devices function much like backhoes, from a kinematic viewpoint, in that the arm linkage operates in a fixed plane which is rotated about one major vertical axis by the base revolute joint. With most of such devices, a given location and orientation of the tool corresponds to a single discrete set of joint angles and an associated discrete arm configuration. In a few of such devices, a given position and orientation of the tool can be achieved by two discrete arm configurations. An example of a device with two possible arm configurations for a single toolpoint position is the Unimation PUMA 600. In that device, while the revolute joints remain in a fixed plane, the "elbow" joint can be disposed either "up" or "down". Nevertheless, if for a prescribed position of the tool, an obstacle in the workspace interferes or the workpiece itself interferes with the arm segments, the arm is not capable of reaching the point without collision. Unlike the human arm, such conventional jointed arm manipulators do not have sufficient degrees of freedom to reach around the interfering object. This limitation is illustrated in FIG. 11. The human arm is considered to have seven degrees of freedom from shoulder to wrist, providing a range of elbow attitudes and resulting arm configurations for a given hand position and orientation. The elephant trunk, having more than seven degrees of freedom, can assume more complex configurations, and can "snake" between objects. Many automation tasks demand the dexterity of a human arm; some require even greater freedom of action. The lack of arm maneuverability and tool-handling dexterity in existing general-purpose computer-controlled manipulators presents serious limitations in their performance and adaptability to numerous applications.
The addition of one or more "redundant" joints in a manipulator has a number of significant benefits beyond improved maneuverability. In the same way that an extra degree of freedom provides means to reconfigure the arm to reach around an obstacle, the arm can be reconfigured to dispose joints in a way which distributes torque or velocity requirements among arm joints in the most equitable manner. A man reconfigures his arm in the process of lifting a heavy object to keep the forces and moments applied to each and every joint at a minimum. The man uses the redundancy in his arm to maximize "leverage". In a six degree of freedom jointed arm, operating in plane like a backhoe, no such reconfiguration and redistribution of forces and torques is possible. Thus, the mechanism's lifting capacity, associated with any particular point in its working envelope and discrete arm configuration, may be unreasonably limited because only a few joints are contributing to the exercise. With a kinematically-redundant manipulator, in contrast, while it may not be possible to lift a given load with one configuration of joints, it may be possible with another configuration and the arm can be reconfigured to do so. Similarly, in executing a high-speed move, the peak toolpoint velocity attainable by a six degree of freedom arm is ultimately determined at any one point in the path trajectory by the maximum speed of one joint. In a six degree of freedom arm, the motion requirements at any one point in the path again may not be well distributed among the joints, but no reconfiguration and redistribution is possible. The addition of redundant joints, therefore, promises to enhance greatly the efficiency of the manipulator, providing increased payload and applied tool force, as well as increased toolpoint speed, for a given amount of motive power and length of arm.
Another problem intrinsic to six degree of freedom arms which may be reduced by kinematic redundancy is related to joint travel limits. In the majority of mechanical embodiments of jointed arms, few, if any, of the revolute joints provide more than one full rotation. Many typical joints provide no more than 180 degrees of rotation. This feature limits the ability of the arm to accomplish certain motions. For example, if the prescribed path of movement specifies certain tool orientations, such as an orientation perpendicular in three axes to some arbitrary straight line in the workspace, then at some point in the straight line trajectory, one of the joints in the arm will reach its limit of travel and the desired path can be followed no further. This may be the case even when other joints remain close to their centers of travel. Kinematic redundancy provides a means to redistribute motion requirements in such a way as to maximize the use of all individual joint travel limits, thereby increasing the effective working envelope and tool-handling dexterity of the manipulator.
The implementation of kinematic redundancy in manipulator mechanisms can take many forms. Indeed, it can be achieved by the addition of one additional joint of any type at any location in any six degree of freedom arm linkage. Two colinear revolute joints in series will suffice. Such an additional degree of freedom need not be controlled in real time to achieve kinematic redundancy. A conventional manipulator providing six degrees of freedom under simultaneous control mounted on a slide that indexes the arm to different fixed positions during operation on the workpiece, offers a sort of primitive redundancy. However, in order to achieve human-arm-like dexterity from a conventional six degree of freedom general-purpose jointed arm manipulator, an additional revolute joint may be inserted between the shoulder "pitch" joint and the elbow "pitch" joint to allow the rotational axes of those two joints to move out of plane with respect to one another. This permits the elbow to be rotated out of plane, or "orbited", as shown in FIG. 13, providing the freedom to avoid obstacles and reach goalpoints on the back side of objects in the workspace, as shown in FIG. 12. In many accepted jointed arm designs, such as the ASEA IRb robots, the transmission linkages which are employed to transmit power to the remote arm joints make it difficult, if not impossible, to incorporate such a roll joint in the upper arm segment.
In order to achieve "intelligent", human-arm-like behavior with a kinematically-redundant arm, real-time sensory-interactive control is necessary. Such adaptive control of kinematic redundancy in manipulators demands that all of the seven or more joints be operated simultaneously and in concert by a real-time motion planning controller in response to information about internal arm conditions and to information from higher control levels and "off-board" sensors. The motion controller must handle both trajectory planning and coordinated joint control. It should reduce a programmed goalpoint to a set of coordinated joint commands, in real-time.
Conventional jointed arm robots also typically suffer certain significant limitations in performance related to the control stability and precision of movement of the manipulator. Many designs fail to provide servocontrol techniques which allow the high accuracy, repeatability and precision of movement required for applications such as metrology or assembly of small parts. The servocontrol systems of such manipulators may have limited operational bandwidth or may fail to employ important feedback control capabilities. As previously noted, some jointed arm designs incorporate mechanical features that further degrade stability and precision resulting from drive train compliance, structural compliance, and mechanical inaccuracies which are not effectively controlled by conventional machine tool servocontrol systems.